package com.eduagent.xwqeduagent.api.RealTimeVoiceToTextConversion.constant;

/**
 * 实时语音转写API常量
 */
public class RealTimeASRConstant {
    // WebSocket URL，注意确保使用的是正确的API版本和域名
    // v1版本的实时语音转写API
    public static final String WEBSOCKET_URL = "wss://rtasr.xfyun.cn/v1/ws";
    // v2版本的实时语音转写API，如果v1不可用，可以尝试v2版本
    public static final String WEBSOCKET_URL_V2 = "wss://rtasr.xfyun.cn/v2/ws";
    
    // API鉴权相关信息，需要从讯飞开放平台申请
    public static String APP_ID = "637d1630";
    public static String API_KEY = "a64e46d959522759bf70a7d3e7c35b8f";
    
    // 是否使用V2版本API，默认使用V1
    public static boolean USE_V2_API = false;
    
    // 获取当前使用的WebSocket URL
    public static String getCurrentWebsocketURL() {
        return USE_V2_API ? WEBSOCKET_URL_V2 : WEBSOCKET_URL;
    }
    
    // 音频格式常量 (PCM 采样率16k，采样深度16bit)
    public static final String FORMAT_PCM_16K = "audio/L16;rate=16000";
    
    // 默认每次发送的音频流大小 (40ms发送1280字节)
    public static final int DEFAULT_FRAME_SIZE = 1280;
    
    // 语种
    public static final String LANG_CHINESE = "cn";
    public static final String LANG_ENGLISH = "en";
    
    // 垂直领域
    public static final String PD_COURT = "court";       // 法院
    public static final String PD_EDU = "edu";           // 教育
    public static final String PD_FINANCE = "finance";   // 金融
    public static final String PD_MEDICAL = "medical";   // 医疗
    public static final String PD_TECH = "tech";         // 科技
    public static final String PD_ISP = "isp";           // 运营商
    public static final String PD_GOV = "gov";           // 政府
    public static final String PD_ECOM = "ecom";         // 电商
    public static final String PD_MIL = "mil";           // 军事
    public static final String PD_COM = "com";           // 企业
    public static final String PD_LIFE = "life";         // 生活
    public static final String PD_CAR = "car";           // 汽车
    
    // 英语识别模式
    public static final int ENG_LANG_AUTO = 1;           // 自动中英文模式
    public static final int ENG_LANG_LIMITED = 2;        // 中文模式，可能包含少量英文
    public static final int ENG_LANG_CHINESE_ONLY = 4;   // 纯中文模式，不包含英文
    
    /**
     * 打印所有配置参数，用于调试
     */
    public static void printConfig() {
        System.out.println("====== 讯飞实时语音转写API配置 ======");
        System.out.println("WEBSOCKET_URL: " + getCurrentWebsocketURL());
        System.out.println("API版本: " + (USE_V2_API ? "V2" : "V1"));
        System.out.println("APP_ID: " + APP_ID);
        System.out.println("API_KEY: " + (API_KEY != null && !API_KEY.isEmpty() ? API_KEY.substring(0, 4) + "****" : "未设置"));
        System.out.println("================================");
    }
} 